package Negocio;

import DTO.DTO_CompraVenta;
import DTO.DTO_ElaboracionVenta;
import DTO.DTO_ItemCarta;
import Entities.Entity_CompraVenta;
import Entities.Entity_ElaboracionVenta;
import Entities.Entity_ItemCarta;

public class ItemCarta {
	
	private int idItemCarta;
	private String nombre;
	private ProductoVenta productoVenta;
	private float precio;
	private String rubro;
	
	//Constructores
	public ItemCarta(int idItemCarta, String nombre,
			ProductoVenta productoVenta, float precio, String rubro) {
		super();
		this.idItemCarta = idItemCarta;
		this.nombre = nombre;
		this.productoVenta = productoVenta;
		this.precio = precio;
		this.rubro = rubro;
	}

	
	public ItemCarta (DTO_ItemCarta item){
		this.idItemCarta = item.getIdItemCarta();
		this.nombre = item.getNombre();
		if(item.getProductoVenta() instanceof DTO_ElaboracionVenta){
			this.productoVenta = new ElaboracionVenta((DTO_ElaboracionVenta)item.getProductoVenta());	
		}
		else{
			this.productoVenta = new CompraVenta((DTO_CompraVenta)item.getProductoVenta());
		}
		
		this.precio = item.getPrecio();
		this.rubro = item.getRubro();
	}
	public ItemCarta(){
	}
	
	public ItemCarta(Entity_ItemCarta item) {
		this.idItemCarta = item.getIdItemCarta();
		this.nombre = item.getNombre();
		if(item.getProductoVenta() instanceof Entity_ElaboracionVenta){
			this.productoVenta = new ElaboracionVenta((Entity_ElaboracionVenta)item.getProductoVenta());	
		}
		else{
			this.productoVenta = new CompraVenta((Entity_CompraVenta)item.getProductoVenta());
		}
		
		this.precio = item.getPrecio();
		this.rubro = item.getRubro();
	}


	//GET & SET
	public int getIdItemCarta() {
		return idItemCarta;
	}


	public void setIdItemCarta(int idItemCarta) {
		this.idItemCarta = idItemCarta;
	}


	public String getNombre() {
		return nombre;
	}


	public void setNombre(String nombre) {
		this.nombre = nombre;
	}


	public ProductoVenta getProductoVenta() {
		return productoVenta;
	}


	public void setProductoVenta(ProductoVenta productoVenta) {
		this.productoVenta = productoVenta;
	}


	public float getPrecio() {
		return precio;
	}


	public void setPrecio(float precio) {
		this.precio = precio;
	}


	public String getRubro() {
		return rubro;
	}


	public void setRubro(String rubro) {
		this.rubro = rubro;
	}
	
	
	//METODO DE NEGOCIO
	
	public DTO_ItemCarta toDTO(){
		DTO_ItemCarta ic = new DTO_ItemCarta();
		ic.setNombre(nombre);
		ic.setPrecio(precio);
		ic.setRubro(rubro);
		ic.setproductoVenta(productoVenta.toDTO());
		return ic;
	}
	
	public Entity_ItemCarta toEntity(){
		Entity_ItemCarta ic = new Entity_ItemCarta();
		ic.setNombre(nombre);
		ic.setPrecio(precio);
		ic.setRubro(rubro);
		ic.setProductoVenta(productoVenta.toEntity());
		return ic;
	}
}
